In one technique, a testing framework can test untrusted code by running it on a virtual machine. The abstraction provided by the virtual machine prevents the untrusted code from harming the underlying system which hosts the virtual machine. In some cases, however, it may be desirable to run the untrusted code on the physical system itself, without the abstraction of a virtual machine. For example, in some cases, the underlying physical system may not support (or may not readily support) the use of a virtual machine or emulator. For instance, physical systems which use ARM-based technology, such as smartphones, etc., do not readily accommodate the use of virtual machines at the current time. Alternatively, or in addition, some hardware features (such as Data Execution Prevention technology) within a physical system cannot be fully abstracted by a virtual machine or emulator.